In-Kernel Servers on Mach 3.0: Implementation and Performance

نویسندگان

  • Jay Lepreau
  • Mike Hibler
  • Bryan Ford
  • Jeffrey Law
  • Douglas B. Orr
چکیده

The advantages in modularity and power of microkernel-based operating systems such as Mach 3.0 are well known. The existing performance problems of these systems, however, are signi cant. Much of the performance degradation is due to the cost of maintaining separate protection domains, traversing software layers, and using a semantically rich inter-process communication mechanism. An approach that optimizes the common case is to permit merging of protection domains in performance critical applications, while maintaining protection boundaries for debugging or in situations that demand robustness. In our system, client calls to the server are e ectively bound either to a simple system call interface, or to a full RPC mechanism, depending on the server's location. The optimization reduces argument copies, as well as work done in the control path to handle complex and infrequently encountered message types. In this paper we present a general method of doing this for Mach 3.0 and the results of applying it to the Mach microkernel and the OSF/1 single server. We describe the necessary modi cations to the kernel, the single server, and the RPC stub generator. Semantic equivalence, backwards compatibility, and common source and binary code are preserved. Performance on micro and macro benchmarks is reported, with RPC performance improving by a factor of three, Unix system calls to the server improving between 20% and a factor of two, and 4{13% performance gain on large benchmarks. A breakdown of the times on the RPC path is also presented. 1

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Naming Facilities for Operating System Emulation in Mach 3.0

The Mach 3.0 micro-kernel provides a foundation for the emulation of various operating systems with a combination of libraries and Mach servers. We present a general-purpose naming facility to help construct such emulation systems by assembling many independent servers. This facility defines a set of standard interfaces for a uniform name space with uniform access mediation and a set of practic...

متن کامل

Object-Oriented Interfaces in the Mach 3.0 Multi-Server System

The Mach 3.0 multi-server system decomposes the functionality of the operating system between a micro-kernel, a set of system servers running in user-mode and an emulation library executing in the address space of applications. The interfaces provided by the system servers are objectoriented and both the servers and the emulation library are written in an object-oriented language. In this paper...

متن کامل

Data Movement in Kernelized Systems

This paper considers how two kernelized systems, Mach 3.0 with the BSD4.3 Single Server and CHORUS/MiX V.4, move data to and from files under a variety of circumstances. We give an overview of the kernel abstractions and system servers and describe in detail the read() and write() paths of these two systems. We then break down their read() and write() performance and compare them to two monolit...

متن کامل

Generalized Emulation Services for Mach 3.0: Overview, Experiences and Current Status

This paper reports on an ongoing project to develop a general understanding of the problems encountered when building emulators for various operating systems at the user-level on top of a Mach 3.0 micro-kernel, and to propose a common framework to construct emulations for a wide range of target systems and environments. It presents an overview and discussion of the major techniques and experime...

متن کامل

Using the Mach Communication Primitives in X11

We have modiied the X11 windowing system to use the native communication facilities of the Mach 3.0 microkernel. Our new implementation can rely on Mach's low-overhead IPC facility as a direct replacement for sockets, or it can use shared memory as a transport between X11 clients and the server. On conventional BSD Unix systems, X11 communication is done through sockets. Because a user-level pr...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1993